This invention relates, in general, to managing system memory of a computing environment, and in particular, to facilitating provision of address spaces within the system memory and the provision of address translation tables, if needed, usable in accessing system memory.
System memory is accessible by read and write requests. These requests may come from various components of a computing environment, including central processing units, as well as adapters. Each request includes an address that is to be used to access system memory. This address, however, typically does not have a one-to-one correspondence with a physical location in system memory. Therefore, address translation is performed.
Address translation is used to translate an address that is provided in one form not directly usable in accessing system memory to another form that is directly usable in accessing a physical location in system memory. For instance, a virtual address included in a request provided by a central processing unit is translated to a real or absolute address in system memory. As a further example, a Peripheral Component Interconnect (PCI) address provided in a request from an adapter may be translated to an absolute address in system memory.
To perform address translation, one or more address translation tables may be used. The tables are configured in a hierarchy, and an entry in the highest level table is located using bits of the address provided in the request. That entry then points to another translation table or to the page, itself, to be accessed.